JOIN T-SQL-এ একাধিক টেবিলের মধ্যে সম্পর্ক তৈরি করতে ব্যবহৃত হয়, যাতে একটি কোয়েরি দিয়ে একাধিক টেবিলের তথ্য একসাথে রিটার্ন করা যায়। T-SQL-এ প্রধানত চার ধরনের JOIN ব্যবহৃত হয়:
- INNER JOIN
- LEFT JOIN (LEFT OUTER JOIN)
- RIGHT JOIN (RIGHT OUTER JOIN)
- FULL OUTER JOIN
এখানে প্রতিটি JOIN এর বিস্তারিত আলোচনা করা হলো:
১. INNER JOIN
INNER JOIN দুইটি টেবিলের মধ্যে শুধুমাত্র সেই রেকর্ডগুলো রিটার্ন করে যেগুলি উভয় টেবিলের মধ্যে মিলে। অর্থাৎ, যেখানে দুটি টেবিলের মধ্যে একটি ম্যাচিং রেকর্ড থাকে, সেখানে ফলাফল দেখাবে।
উদাহরণ:
SELECT Employees.EmployeeID, Employees.Name, Orders.OrderID
FROM Employees
INNER JOIN Orders ON Employees.EmployeeID = Orders.EmployeeID;
- এই কোয়েরি
EmployeesএবংOrdersটেবিলের মধ্যে EmployeeID এর মানে ম্যাচ করে এমন রেকর্ডগুলো রিটার্ন করবে। - যদি কোন Employee এর সাথে কোনো Order না থাকে, তবে সেই Employee রেকর্ডটি ফলাফলে আসবে না।
২. LEFT JOIN (LEFT OUTER JOIN)
LEFT JOIN (বা LEFT OUTER JOIN) প্রথম টেবিলের সমস্ত রেকর্ড রিটার্ন করে এবং যেগুলি দ্বিতীয় টেবিলের সাথে ম্যাচ করে, সেই রেকর্ডগুলিও রিটার্ন করে। যদি দ্বিতীয় টেবিলের সাথে কোন ম্যাচিং রেকর্ড না থাকে, তবে দ্বিতীয় টেবিলের কলামগুলো NULL দেখাবে।
উদাহরণ:
SELECT Employees.EmployeeID, Employees.Name, Orders.OrderID
FROM Employees
LEFT JOIN Orders ON Employees.EmployeeID = Orders.EmployeeID;
- এই কোয়েরি
Employeesটেবিলের সমস্ত রেকর্ড রিটার্ন করবে, এবং যেখানে EmployeeID এর সাথে মিল আছে, সেখানে Orders টেবিলের তথ্যও দেখাবে। - যেসকল Employee এর সাথে কোন Order নেই, তাদের জন্য OrderID কলাম NULL দেখাবে।
৩. RIGHT JOIN (RIGHT OUTER JOIN)
RIGHT JOIN (বা RIGHT OUTER JOIN) দ্বিতীয় টেবিলের সমস্ত রেকর্ড রিটার্ন করে এবং যেগুলি প্রথম টেবিলের সাথে ম্যাচ করে, সেই রেকর্ডগুলোও রিটার্ন করে। যদি প্রথম টেবিলের সাথে কোন ম্যাচিং রেকর্ড না থাকে, তবে প্রথম টেবিলের কলামগুলো NULL দেখাবে।
উদাহরণ:
SELECT Employees.EmployeeID, Employees.Name, Orders.OrderID
FROM Employees
RIGHT JOIN Orders ON Employees.EmployeeID = Orders.EmployeeID;
- এই কোয়েরি
Ordersটেবিলের সমস্ত রেকর্ড রিটার্ন করবে, এবং যেখানে EmployeeID এর সাথে মিল আছে, সেখানে Employees টেবিলের তথ্যও দেখাবে। - যেসকল Order এর সাথে কোন Employee নেই, তাদের জন্য EmployeeID এবং Name কলাম NULL দেখাবে।
৪. FULL OUTER JOIN
FULL OUTER JOIN দুটি টেবিলের সমস্ত রেকর্ড রিটার্ন করে, যেখানে মিল থাকে সেখানে তথ্য দেখায় এবং যেখানে মিল নেই সেখানে NULL দেখায়। এটি LEFT JOIN এবং RIGHT JOIN এর সমন্বয়।
উদাহরণ:
SELECT Employees.EmployeeID, Employees.Name, Orders.OrderID
FROM Employees
FULL OUTER JOIN Orders ON Employees.EmployeeID = Orders.EmployeeID;
- এই কোয়েরি
EmployeesএবংOrdersটেবিলের সমস্ত রেকর্ড রিটার্ন করবে। - যেসকল Employee এর সাথে Order নেই, তাদের জন্য OrderID কলাম NULL হবে।
- যেসকল Order এর সাথে Employee নেই, তাদের জন্য EmployeeID এবং Name কলাম NULL হবে।
সারাংশ:
| JOIN টাইপ | বর্ণনা |
|---|---|
| INNER JOIN | উভয় টেবিলের মধ্যে মিল থাকা রেকর্ডগুলি রিটার্ন করে। |
| LEFT JOIN (LEFT OUTER JOIN) | প্রথম টেবিলের সমস্ত রেকর্ড এবং মিল পাওয়া রেকর্ডগুলো রিটার্ন করে, অন্য টেবিলের কলামে NULL থাকে যদি মিল না থাকে। |
| RIGHT JOIN (RIGHT OUTER JOIN) | দ্বিতীয় টেবিলের সমস্ত রেকর্ড এবং মিল পাওয়া রেকর্ডগুলো রিটার্ন করে, প্রথম টেবিলের কলামে NULL থাকে যদি মিল না থাকে। |
| FULL OUTER JOIN | উভয় টেবিলের সমস্ত রেকর্ড রিটার্ন করে, যেখানে মিল থাকে সেখানে তথ্য দেখায় এবং মিল না থাকলে NULL দেখায়। |
JOIN বিভিন্ন টেবিলের মধ্যে সম্পর্ক তৈরি করতে এবং একত্রে ডেটা বের করার জন্য অত্যন্ত গুরুত্বপূর্ণ একটি টুল।
Read more